package com.zhuss.order.db.dao.ext;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zhuss.bean.bo.order.order.SearchPrepayBo;
import com.zhuss.bean.vo.order.order.DetailPrepayVo;
import com.zhuss.bean.vo.order.order.ListPrepayVo;
import com.zhuss.order.db.dao.gen.PrepayMapper;
import com.zhuss.order.db.entity.Prepay;

/**
 * @description: 预支付数据库Dao
 * @author: zhushanshuo
 * @create: Tue Jan 12 18:10:03 CST 2021
 **/

@Mapper
public interface PrepayDao extends PrepayMapper {
	
	void create(Prepay record);
	
	void delete(Prepay record);
	
	void refreshStatus(@Param ("orderId") Long orderId, @Param ("status") Integer status, @Param("modifier") String modifier, @Param("modifierId") Long modifierId, @Param("modifyTime") Date modifyTime);
	
	void refresh(@Param ("orderId") Long orderId, @Param ("wxPrepayId") String wxPrepayId);
	
	Prepay getByOrderId(@Param ("orderId") Long orderId);

	List<Prepay> listAll();

	List<Prepay> listById(@Param("prepayIdList") List<Long> prepayIdList);
	
	List<Prepay> listByName(@Param("name") String name);
	
	List<ListPrepayVo> list(SearchPrepayBo bo);
	
	Integer countList(SearchPrepayBo bo);

	DetailPrepayVo detail(@Param("prepayId") Long prepayId);

}
